using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Slate;
using Slate.ActionClips;

public enum ActorIdent {
    Player,
    Enemy,
    Custom,
}
[Category("MyActionClip")]
public class TestActionClip : ActorActionClip
{
    [AnimatableParameter]
    public int Ident;
    [AnimatableParameter]
    public int curIdent;
}


[Category("My Category")]
public class MyClip : ActorActionClip
{

	[SerializeField, HideInInspector]
	private float _length;

	[AnimatableParameter]
	public float number;

	public override float length
	{
		get { return _length; }
		set { _length = value; }
	}

	protected override void OnUpdate(float time, float previousTime)
	{
		UnityEngine.Debug.Log(number);
	}
}


[Name("播放动画Animator")]
[Attachable(typeof(AnimTrack))]
public class PlayAnimClip {

}

[Name("模型动画轨道")]
[Slate.Icon(typeof(Animator))]
[Attachable(typeof(ActorGroup))]
public class AnimTrack : CutsceneTrack
{
    protected override void OnCreate()
    {
        base.OnCreate();

        this.name = "模型动画轨道";
    }

    protected override void OnEnter()
    {
        base.OnEnter();
    }
}


public class MyTestGroup : CutsceneGroup
{
    public override string name { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); }
    public override GameObject actor { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); }
    public override ActorReferenceMode referenceMode { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); }
    public override ActorInitialTransformation initialTransformation { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); }
    public override Vector3 initialLocalPosition { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); }
    public override Vector3 initialLocalRotation { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); }
    public override bool displayVirtualMeshGizmo { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); }
}
